In various illustrative examples, in a multiprocessor system with distributed cache, multiple copies of the same data item may exist in two or more caches. A cache coherence protocol defines the manner in which the changes in the values of shared data items are propagated throughout the system, so that a read operation with respect to a certain data item gets the latest version of the data item and a write operation with respect to a certain data item updates all copies of the data item.